package com.ruoyi.wzgl.wzck.mapper;

import java.util.List;
import com.ruoyi.wzgl.wzck.domain.Wzck;
import com.ruoyi.wzgl.wzck.domain.WzckCkmx;
import com.ruoyi.wzgl.wzck.vo.WzCkTopVo;

/**
 * 物资出库Mapper接口
 *
 * @author huacai
 * @date 2024-09-25
 */
public interface WzckMapper
{
    /**
     * 查询物资出库
     *
     * @param wzckId 物资出库主键
     * @return 物资出库
     */
    public Wzck selectWzckByWzckId(Integer wzckId);

    /**
     * 查询物资出库列表
     *
     * @param wzck 物资出库
     * @return 物资出库集合
     */
    public List<Wzck> selectWzckList(Wzck wzck);

    /**
     * 新增物资出库
     *
     * @param wzck 物资出库
     * @return 结果
     */
    public int insertWzck(Wzck wzck);

    /**
     * 报废出库
     * @param wzck
     * @return
     */
    int insertBfCk(Wzck wzck);

    /**
     * 个人领用出库
     * @param wzck
     * @return
     */
    int insertGrLyCk(Wzck wzck);

    /**
     * 修改物资出库
     *
     * @param wzck 物资出库
     * @return 结果
     */
    public int updateWzck(Wzck wzck);

    /**
     * 确定出库
     * @param wzck
     * @return
     */
    int updateQdck(Wzck wzck);

    /**
     * 删除物资出库
     *
     * @param wzckId 物资出库主键
     * @return 结果
     */
    public int deleteWzckByWzckId(Integer wzckId);

    /**
     * 批量删除物资出库
     *
     * @param wzckIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWzckByWzckIds(Integer[] wzckIds);

    /**
     * 批量删除出库明细
     *
     * @param wzckIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWzckCkmxByWzckIds(Integer[] wzckIds);

    /**
     * 批量新增出库明细
     *
     * @param wzckCkmxList 出库明细列表
     * @return 结果
     */
    public int batchWzckCkmx(List<WzckCkmx> wzckCkmxList);


    /**
     * 通过物资出库主键删除出库明细信息
     *
     * @param wzckId 物资出库ID
     * @return 结果
     */
    public int deleteWzckCkmxByWzckId(Integer wzckId);

    /**
     * 一级库物资出库Top10
     * @return
     */
    List<WzCkTopVo> getWzCkTop();
}
